package com.ssy.lingxi.platform.template.service.service.adorn;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.platform.template.service.entity.adorn.Advert;
import com.ssy.lingxi.platform.template.service.model.bo.ColumnBO;
import com.ssy.lingxi.platform.template.service.model.dto.adorn.*;
import com.ssy.lingxi.platform.template.service.model.dto.common.TemplateIdDTO;
import com.ssy.lingxi.platform.template.service.model.dto.web.RecommendDTO;
import com.ssy.lingxi.platform.template.service.model.vo.adorn.*;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
 * @menu 模板装修 - WEB企业商城装修 - 业务处理层
 * @author fhj
 * @version 2.0.0
 * @date 2020/12/15
 */
public interface WebEnterpriseService {

    Wrapper<CategoryAdornVO> categoryAdorn(CategoryAdornDTO dto, UserLoginCacheDTO user);

    Wrapper<List<Advert>> findAdvertsByType(AdvertDTO dto);

    Wrapper<List<ColumnBO>> findColumn(TemplateIdDTO dto);

    Wrapper<PageData<GoodsVO>> findGoodsList(RecommendDTO dto);

    Wrapper<PageData<ShopVO>> findShopList(RecommendDTO dto);

    Wrapper<PageData<BrandVO>> findBrandList(RecommendDTO dto);

    Wrapper<CategoryAdornVO> findCategoryList(RecommendDTO dto, HttpServletRequest request);

    Wrapper<Void> saveAdvert(SaveAdvertDTO dto);

    Wrapper<Void> saveColumn(SaveColumnDTO dto);

    Wrapper<Void> saveGoods(SaveTemplateAdornDTO dto);

    Wrapper<Void> saveShop(SaveTemplateAdornDTO dto);

    Wrapper<Void> saveBrand(SaveTemplateAdornDTO dto);

    Wrapper<Void> saveCategory(SaveTemplateAdornDTO dto);
}
